<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<script>
		//1
		let a1,b1,c1=[1,2,3, ];
		console.log(a1,b1,c1);
		
		let[a2,b2,c2]=[1,2,3, ];
		console.log(a2,b2,c2);
		
		let[a3,b3,c3]=[1, , 3, ];
		console.log(a3,b3,c3);
		
		let[a4,b4]=[1];
		console.log(a4,b4);
		
		let{y:a5,b5}={x:1,y:2};
		console.log(a5,b5);
		
		let{a6,b6}=123;
		console.log(a6,b6);
		
		//2
		let set=new Set();
		set.add(1);
		set.add(2);
		set.add(3);
		set.delete(2);
		
		let i=set.values();
		console.log(i.next());
		console.log(i.next());
		console.log(i.next());
		
		//3
		//map() 方法创建一个新数组，其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
		let map=new Map();
		map.set(1,"a");
		map.set(2,"b");
		map.set(3,"c");
		map.set(4,"d");
		
		for(let i=1;i<=map.size;i++){
			console.log(map.get(i));
		}
		map.forEach(function(value,key){
			console.log(value);
		});
		for(let v of map.values()){
			console.log(v);
		}
		for(var prop in map){
			console.log(prop);
		}
		//for in语句输出的是key
		//4
		let arr1=[1,2,3];
		
		let arr2=arr1;
		console.log(arr1==arr2);
		
		let arr3=[...arr1];
		console.log(arr1==arr3);
		
		//5
		let arr4=[1,2,3];
		arr4.forEach(function(v,k){
			console.log(v);
		});
		
		//6
		Array.of(1,2,3).filter(i=>i>1).forEach(i=>console.log(i));
		//filter() 方法创建一个新数组, 其包含符合要求的所有元素，即回调函数返回为true时的元素集合。
		//forEach()遍历数组,对数组的每个元素执行一次给定的函数。
		//首先筛选出大于1的整数：2,3，第一次输出2，第二次输出3
		let fib = n => n > 1 ? fib(n - 1) + fib(n - 2) : n;
		//斐波那契数列
		
		//7
		class Animal{
			constructor(name){
				this.name=name;
			}
			shount(){
			}
		}
		class Dog extends Animal{//Dog类继承Animal类
			constructor(age){
				super();
				this.age=age;
			}
			eat(){
				console.log("吃饭");
			}
			}
			//测试
			var p1=new Dog();
			p1.age="6岁"
			p1.name="狗"
			console.log(p1);
			p1.eat();
	</script>
	<body>
		
	</body>
</html>
